package com.xinkao.example.dao;

import com.alibaba.fastjson.JSONObject;
import com.xinkao.example.util.model.MenuModel;
import com.xinkao.example.util.model.MenuTree;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author: LXF
 * @description: 登录相关dao
 * @date: 2017/10/24 11:02
 */
public interface LoginDao {
	/**
	 * 根据用户名和密码查询对应的用户
	 * @param username
	 * @param password
	 * @return
	 */
	JSONObject getUser(@Param("username") String username, @Param("password") String password);

	/**
	 * 权限菜单
	 * @param parentId
	 * @param roleId
	 * @return
	 */
	List<JSONObject> getUserRights(@Param("parentId") String parentId, @Param("roleId") String roleId);

	/**
	 * 用户权限
	 * @param userId
	 * @return
	 */
	List<String> getUserPermission(@Param("userId") String userId);

	/**
	 * 用户菜单
	 * @param roleId
	 * @return
	 */
	List<MenuTree> getUserMenu(@Param("roleId") String roleId);

	/**
	 * 查询所用菜单
	 * @Author lililiang
	 * @Date 2021/8/11 10:14
	 */
	List<MenuTree> getAllMenu4Admin();

	/**
	 * 查询用户的所有权限
	 * @Author lililiang
	 * @Date 2021/8/11 10:15
	 */
	List<MenuTree> getAllMenu4User(String userId);
	/***
	 * 获取全部权限
	 * @Author lililiang
	 * @Date 2021/6/15 11:30
	 */
	List<String> getAllPermission();



}
